package com.stockz.equity.charting.display;

import java.awt.Color;
import java.awt.Rectangle;

import com.stockz.equity.charting.painter.indicator.LineIndicatorPainter;
import com.stockz.equity.charting.view.StockChartView;
import com.stockz.equity.charting.view.StockRectangle;
import com.stockz.equity.pattern.Painter;

public abstract class AbstractDisplayableConfiguration 
implements Displayable{

	private Rectangle editRectangle = new Rectangle();
	private Rectangle removeRectangle = new Rectangle();
	private StockRectangle rectangle = new StockRectangle();
	private StockChartView stockChartView;
	private Color color;
	private int order;
	
	@Override
	public void setStockChartView(StockChartView stockChartView) {
		this.stockChartView = stockChartView;
	}
	
	@Override
	public StockChartView getStockChartView() {
		return stockChartView;
	}
	
	@Override
	public Color getColor() {
		return color;
	}
	
	@Override
	public void setColor(Color color) {
		this.color = color;
	}
	
	@Override
	public StockRectangle getRectangle() {
		return rectangle;
	}
	
	@Override
	public void setRectangle(StockRectangle rectangle) {
		this.rectangle = rectangle;
	}
	
	@Override
	public int getOrder() {
		return order;
	}
	
	@Override
	public void setOrder(int order) {
		this.order = order;
	}

	@Override
	public Class<? extends Painter<? extends AbstractDisplayableConfiguration>> getPainterClass() {
		return LineIndicatorPainter.class;
	}

	@Override
	public Rectangle getEditRectangle() {
		return editRectangle;
	}

	@Override
	public void setEditRectangle(Rectangle rectangle) {
		this.editRectangle = rectangle;
	}

	@Override
	public Rectangle getRemoveRectangle() {
		return removeRectangle;
	}

	@Override
	public void setRemoveRectangle(Rectangle rectangle) {
		this.removeRectangle = rectangle;
	}
}
